# -*- coding:utf-8 -*-
# title           :
# description     :
# author          :Python超人/三月三提供
# date            :2024-08-11
# link            :https://gitcode.net/pythoncr/
# python_version  :3.9
# ==============================================================================
from 神笔码靓.码靓库.手机.手机绘图板 import 手机绘图板
from 神笔码靓.神笔库.元素库 import 元素模板, 线性渐变色, 径向渐变色
from 神笔码靓.神笔库.神笔绘图板 import 神笔绘图板
from 神笔码靓.神笔库.定义集 import *
from 神笔码靓.神笔库.配置 import *
from 神笔码靓.神笔库.通用工具集 import *


class 手机重复渐近色壁纸(手机绘图板):
    def __init__(self, 文件路径, 显示整机=是, 显示状态栏=是, 锁屏=是, 锁屏字体颜色=颜色.白色, 手机颜色="#163844"):
        self.屏幕宽, self.屏幕高 = 1080, 2376
        super(手机重复渐近色壁纸, self).__init__(作品文件路径=文件路径, 屏幕大小=(self.屏幕宽, self.屏幕高), 手机颜色=手机颜色,
                                        显示整机=显示整机, 显示状态栏=显示状态栏, 锁屏=锁屏, 锁屏字体颜色=锁屏字体颜色)

    def 颜色列表和分界线模糊度(self):
        return ["red", "orange", "yellow", "green", "blue"], 0.00

    def 色条个数(self):
        return 20

    def 创建渐变色(self):
        渐近色, 分界线模糊度 = self.颜色列表和分界线模糊度()
        颜色条个数 = self.色条个数()
        步长 = round((self.屏幕宽 / (颜色条个数 + len(渐近色))) / self.屏幕宽, 2)
        计数 = 0
        渐变中间点 = 列表()
        while True:
            偏移_ = 0
            for 颜色_ in 渐近色:
                偏移_ = 计数 * 步长
                if 偏移_ >= 1:
                    if 渐变中间点[-1]["偏移"] == 1:
                        break
                    # 偏移_ = 1
                渐变中间点.添加元素({"偏移": 偏移_, "颜色": 颜色_})
                if 分界线模糊度 >= 0:
                    渐变中间点.添加元素({"偏移": 偏移_ + 步长 - 分界线模糊度, "颜色": 颜色_})
                计数 = 计数 + 1
            if 偏移_ >= 1:
                break

        渐变色 = self.创建线性渐变色(开始位置=(0, 0), 结束位置=(self.屏幕宽, 0),
                           开始颜色=渐变中间点[0]["颜色"], 结束颜色=渐变中间点[-1]["颜色"],
                           增加渐变中间点=渐变中间点[1:-1]
                           )

        return 渐变色

    def 屏幕元素(self):
        渐近色 = self.创建渐变色()
        if isinstance(渐近色, 线性渐变色):
            return [self.画矩形(x=0, y=0, 宽=self.屏幕宽, 高=self.屏幕高, 填充颜色=渐近色)]
        elif isinstance(渐近色, 径向渐变色):
            pass


if __name__ == '__main__':
    壁纸 = 手机重复渐近色壁纸("手机壁纸_手机颜色测试.svg", 显示整机=是)
    壁纸.完成()
